package com.designpatterns.factory.factory3.factory;

import com.designpatterns.factory.factory3.rawmaterial.*;
import com.designpatterns.factory.factory3.rawmaterial.veggies.Mushroom;
import com.designpatterns.factory.factory3.rawmaterial.veggies.Onion;
import com.designpatterns.factory.factory3.rawmaterial.veggies.Redpepper;
import com.designpatterns.factory.factory3.rawmaterial.veggies.Garlic;

/**
 * @author Brook
 */
public class NyPizzaIngredientFactory implements PizzaIngredientFactory{
    @Override
    public Dough createDough() {
        return new ThinCrustDough();
    }

    @Override
    public Sauce createSauce() {
        return new MarinaraSauce();
    }

    @Override
    public Cheese createCheese() {
        return new ReggianoCheese();
    }

    @Override
    public Veggies[] createVeggies() {
        return new Veggies[]{new Garlic(), new Onion(), new Mushroom(), new Redpepper()};
    }

    @Override
    public Pepperoni createPepperoni() {
        return new SlicedPepperoni();
    }

    @Override
    public Clams createClams() {
        return new FreshClams();
    }
}
